I’m not familiar with sling.is, but PagerDuty schedules are designed to accommodate weekly on-call shift rotations, so it should be able to meet your needs. If you haven’t set up a schedule in PagerDuty before, here are some guidelines that should help you get started:
- Create a separate layer for each shift
- In Step 1, select the people who will be in each shift. Note that you can use the same users in more than one layer, and you can even use the same user twice in one layer.
- In Step 2, set the rotation type for each shift (daily, weekly, etc.)
- Set the handoff time for each layer to the start time and date of that shift.
- Check the Restrict on-call shifts to specific times option. Then choose Restrict on-call duty to specific times-of-the-week and specify the days and times the shift will cover.
- Take a look at the final schedule near the bottom. It will update with each change you make; you can drag and drop names in a layer and the schedule will adjust accordingly.
Note that only one person can be on call at any given time in PagerDuty schedules. If there is overlap, each layer will take precedence over the ones above it.
If a user is covering another user’s shift, they can create an override.
Here are links to PagerDuty’s Knowledge Base on schedules:
Schedule concepts
Complex schedules
If you’re looking to create PagerDuty schedules from a script, here are some code samples, and here are some links to our REST API docs for some of our schedules endpoints:
GET all schedules
GET a single schedule (requires the schedule ID)
POST a schedule
PUT a schedule (requires the schedule ID)